Skip to main content

Creating the Stack

To create the stack go ahead and go to a folder were you want to save the stack in a Sub-Folder. For example i often have a sub-folder called "Docker-Compose" or something similar. Now download the Git repository like this:

git clone https://github.com/TimyStream/mc-compose-stack.git

Now switch into the stack folder with cd mc-compose-stack, after that go ahead and create a folder for your proxy with mkdir proxy. Now you just need to download the Jar of your Proxy of Choice! Here is a brief overview what Proxy Server for Minecraft are existing that are known to me:

NameLink
Velocity*https://papermc.io/software/velocity
Bungeecord*https://github.com/SpigotMC/BungeeCord
Waterfall*https://papermc.io/software/waterfall

After you have chosen your Proxy Server you have to edit the docker-compose.yml file. It should then look something like this:

docker-compose.yml
services:
proxy:
image: ghcr.io/timystream/mjrt:17
environment:
- SERVERJAR=velocity.jar
- ARGS=""
ports:
- "25565:25565"
volumes:
- ./proxy:/app
stdin_open: true
tty: true
user: [your User ID]:[your groupID]
## User Server ##
[your servername]:
image: ghcr.io/timystream/mjrt:17
environment:
- SERVERJAR=[ServerSoftwareFile]
expose:
- 25565
volumes:
- ./[Your Server folder name]:/app
stdin_open: true
tty: true
user: [your User ID]:[your groupID]
depends_on:
- proxy

if you compare the docker-compose.yml from here and the github page you will recognize that i changed the first SERVERJAR environment entry and added the ./proxy path that we create before and also placed our proxy server file in. Under SERVERJAR just replace the placeholder text with your actual Proxy Server file name as i did in the example.

If we now look further down in the docker-compose.yml file we can see the next placeholders for your User ID and your groupID both you can simply find out by using the id command in on your terminal under linux, for Windows i unfortunately can't tell you how to get it. After using that command you should see at first uid=****(<your username>) where the stars are there should be a number you put that like were your User ID is standing but without the brackets! The goes for the group id, there you need to grab the number from gid instead of uid. The line should now look something like this:

docker-compose.yml:13
    user: 1000:1000

After you changed all this, you should be good to go and start the Stack with docker compose up -d.

*The names are property of the respective parties reachable through the Link of the Software.